# -*-coding:utf-8-*-

from _cfg import base as cfg

from hander.HanderCodeName import HanderCodeName
import os
from hander.HanderBaoData import HanderBaoData
from dingding import dingding
#获取股票代码
hcn_obj=HanderCodeName(cfg=cfg)
#返回df数据
codes=hcn_obj.get_all_codename()



def handelData(start_date='',end_date=''):
    dingding(title='获取当日数据',news=["获取当日数据","开始获取当日数据"+start_date])#发送钉钉消息
    if start_date is None and end_date is None:
        return False
    """
    股票没有数据时，不会导入数据库
    """
    #执行数据获取
    hbd_obj=HanderBaoData()
    hbd_obj._login()
    #获取登录信息
    hbd_obj._get_login_msg()
    # 设置参数
    hbd_obj._set_k_params()

    # 设置数据库连接
    hbd_obj.set_db_con(cfg=cfg)

    for i in codes['code']:
        hbd_obj._set_k_code(k_code=i)
        hbd_obj._set_k_date(start_date=start_date,end_date=end_date)
        #进行接口调用
        hbd_obj._get_k_data()
        #获取接口调用错误信息
        hbd_obj._get_rs_error()

        # 处理数据结果
        hbd_obj._handle_data_res()
        #保存至数据库
        hbd_obj.res_to_db(hbd_obj.res_data,table_name='kd_data')

    """
    res=hbd_obj.get_df_res_data()
    print("res&&&"*10)
    print(res)
    # 保存结果值csv文件中
    outfile='./stock_k_data.csv'
    hbd_obj.res_to_csv(outfile)
    """
    #退出登录
    hbd_obj._logout()



if __name__=='__main__':
    start_date='2021-04-01'
    end_date='2021-04-30'
    handelData(start_date,end_date)
